package com.gopay.common.cps.manager.gsrt;

import java.util.List;

import com.gopay.common.domain.gsrt.GsrtCustSigned;
/**
 * 签约
 * @Description: 
 * @author hougn
 * @date 2016年2月29日 下午7:53:57 
 *
 */
public interface GsrtCustSignedQueryManager {
    /**
     * 根据商户MerCustId查询投资者的信息
     * @param merCustId
     * @param ConstracterId
     * @return
     */
    public List<GsrtCustSigned> getlistByConstracterId(String merCustId, String ConstracterId);

    /**
     * 是否已签约
     * @param custId 客户id
     * @param merCustId 商户id
     * @return
     */
    public boolean isSign(String custId, String merCustId);
	/**
	 * 根据用户CustId查询投资者的信息
	 * @param merCustId
	 * @param ConstracterId
	 * @return
	 */
	public GsrtCustSigned getlistByCustId(String CustId);
	/**
	 * 根据用户CustId查询投资者的信息
	 * @param merCustId
	 * @param ConstracterId
	 * @return
	 */
	public List<GsrtCustSigned> getListByCustId(String CustId);
	/**
	 * 更新
	 * @param en
	 */
	public void update(GsrtCustSigned en);
	/**
     * 根据商户id和签约协议号查询签约信息
     * @param merCustId
     * @param constracterId
     * @return
     */
    public GsrtCustSigned getByMerCustIdAndConstracterId(String merCustId, String constracterId);
    
    public GsrtCustSigned getlistByCustId(String merCustId,String merOrderId) ;

    /**
     * 根据订单号查询签约
     * @param gopayOrderId
     * @return
     */
    GsrtCustSigned getByGopayOrderId(String gopayOrderId);
    
    /**
     * 根据用户id和商户id查询是否签约失败
     * @param custId
     * @param merCustId
     * @return
     */
    boolean getFailByCustIdAndMerCustId(String custId, String merCustId);
    /**
     * 查询创建时间距当前时间超过timeSpan时间，且订单状态为处理中的订单
     */
    public List<Object> findTimeoutListByTimeSpan(final int timeSpan); 
    GsrtCustSigned findByMerOrderId(String merOrderId) ;
	
}
